package com.zdxlz.fcmp.upms.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdxlz.fcmp.common.mybatis.base.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.Date;
import static com.zdxlz.fcmp.common.core.constant.ParameterVerifyMsgConstants.*;

/**
 * 租户信息表(SystemTenant)表实体类
 *
 * @author aman
 * @since 2025-02-24 10:19:18
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("system_tenant")
public class SystemTenant extends BaseEntity {

    /**
     * 租户名
     */
    @TableField("name")
    @NotBlank(message = TENANT_NAME_VERIFY_MSG)
    private String name;

    /**
     * 联系人
     */
    @TableField("contact_name")
    @NotBlank(message = TENANT_CONTACTNAME_VERIFY_MSG)
    private String contactName;

    /**
     * 联系手机
     */
    @TableField("contact_mobile")
    @NotBlank(message = TENANT_CONTACTMOBILE_VERIFY_MSG)
    private String contactMobile;

    /**
     * 过期时间
     */
    @TableField("expire_time")
    private Date expireTime;

    /**
     * 账号数量
     */
    @TableField("account_count")
    private Integer accountCount = 0;

    /**
     * 租户状态(true：启用 false：停用)
     */
    @TableField("status")
    @NotNull(message = TENANT_STATUS_VERIFY_MSG)
    private Boolean status;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
}
